package com.blog.cmrpersonalblog.dto.notification.requset;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 创建通知请求DTO
 */
@Data
public class NotificationCreateRequest {
    /**
     * 接收通知的用户ID
     */
    @NotNull(message = "接收用户ID不能为空")
    private Long userId;

    /**
     * 发送通知的用户ID（系统通知时为NULL）
     */
    private Long senderId;

    /**
     * 通知类型
     */
    @NotBlank(message = "通知类型不能为空")
    private String type;

    /**
     * 通知标题
     */
    @NotBlank(message = "通知标题不能为空")
    private String title;

    /**
     * 通知内容
     */
    private String content;

    /**
     * 目标类型
     */
    private String targetType;

    /**
     * 目标ID
     */
    private Long targetId;

    /**
     * 额外数据（JSON格式）
     */
    private String extraData;

}
